Bastion Host trong VPC
2. Kiến trúc
Để đảm bảo an, toàn, chúng ta sẽ chạy Linux Instaces trong Private Subnet. Chú ý là Bastion Host phải được đặt ở Public Subnet.
Như trên hình mô tả. Khi một User muốn kết nối tới Linux Instances thì đều phải đi qua một bước trung gian đó là tới Bastion Host. Về mặt lý thuyết, các lớp bảo mật mà user phải đi qua còn nhiều hơn thế. Cụ thể lần lượt như sau:
- Internet Gateway
- Route Table
- Network ACL
- Security Group
- Bastion Host
3. Tạo Bastion Host
Bước 1: Đầu tiên chúng ta tạo một VPC như sau:
- 1 Bastion Host ở Public Subnet
- 1 Instance ở Private Subnet
Bước 2: Thiết lập Security Groups
Web Instance:
- Type: SSH
- Source: Private IPs của Bastion Instance
Bastion Instance:
- Type: SSH
- Source: My IP - tức Public IP của máy cá nhân hoặc công ty
Bước 3: Kiểm tra kết nối.
Sau khi thiết lập xong, Web Instance chỉ có thể được truy cập từ kết nối SSH thông qua Bastion Host. Ta có thể kiểm tra như sau:
- Kêt nối SSH tới Bastion Host bằng Public IP của Bastion Host (Mình sử dụng Teraterm)
- Tạo file key.pem bằng cách copy nội dung file Keypair đã download khi tạo Web Instance
-
- $vi key.pem
- Copy vào nội dung Keypair
- Ecs
- :wq
- Enter
- Thay đổi quyền truy cập của file key.pem vừa tạo thành chỉ đọc
$chmod 400 key.pem
- Truy cập vào Web Instance bằng Private IPs của Web Instance
$ssh -i key.pem ec2-user@172.16.2.253
Như vậy chúng ta truy cập vào Web Instance thành công!